import Vue from 'vue'
import ElementUI from 'element-ui'

// 默认弹窗节点加载到body元素下
ElementUI.Dialog.props.appendToBody.default = true
// 默认点击遮罩层不会关闭窗口
ElementUI.Dialog.props.closeOnClickModal.default = false
/**
 * @description  加载数据遮盖层
 * @param {Object} text 提示文字
 * @param {Object} el 遮盖的元素
 * @param {Object} option 其他配置
 */
Vue.prototype.$showLoading = function(text, el, option) {
  if (this.$loadingRes) this.$closeLoading()
  option = option || {}
  option.text = text
  option.target = el
  option.background = option.background || 'rgba(0,0,0, .1)'
  const r = this.$loading(option)
  Vue.prototype.$loadingRes = r
  return r
}
/**
 * @description 关闭遮盖层
 */
Vue.prototype.$closeLoading = function() {
  if (this.$loadingRes) this.$loadingRes.close()
}

/**
 * @description 消息提示
 */
Vue.prototype.$showMessage = function(msg, type, options) {
  options = options || {}
  options.message = msg
  options.type = {
    w: 'warning',
    s: 'success',
    i: 'info',
    e: 'error'
  }[type] || type || 'info'
  if (this.$loadingRes) this.$message(options)
}
